home *** CD-ROM | disk | FTP | other *** search
/ NOVA - For the NeXT Workstation / NOVA - For the NeXT Workstation.iso / Apps / AudioApps / Resound / ModuleController.h < prev    next >
Text File  |  1992-12-20  |  4KB  |  108 lines

  1. /*
  2. March 25, 1992
  3.  
  4. Module Controller gives access to the program from modules.  You may access other methods, but it is not suggested...
  5.  
  6. To create a module, subclass from Module.h.  Note that it already has an id for the ModuleController called TheModuleController.  It also imports the Module Controller, and from there imports the rest of the program, the appkit, the soundkit, stdio, math, and string, so it's unlikely you'd need to import or include much.
  7.  
  8. */
  9.  
  10.  
  11. #import <objc/Object.h>
  12. #import "Imports.h"
  13.  
  14. @interface ModuleController:Object
  15. {
  16.     id CompactPanel;
  17.     id TheFileController;
  18.     id TheInfoManager;
  19.     id TheSoundManager;
  20.     id TheEditController;
  21.     id AdjustButton;
  22.     BOOL GoAhead;                                //  The Compact Panel has been okayed.
  23. }
  24.  
  25.  
  26. /*---------On pain of death, do not call these methods-they are internal---------*/
  27.  
  28. - init;
  29. - TurnOffMenu:sender;
  30. - TurnOnMenu:sender;
  31. - Cancelled:sender;
  32. - Okayed:sender;
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39. /*---------------------METHODS PROPERLY CALLABLE BY MODULES----------------------*/
  40.  
  41. /* NOTE: there are other methods in various objects in this program that may be
  42.    utilized if need be, but it is not suggested, as they may change with later
  43.    versions of this program (if any!), and they are not guaranteed to not have
  44.    unforseen side effects, or do what they seem to do.  The following methods
  45.    have been provided in this object as a link to the main program for modules,
  46.    and are the recommended methods that modules may call.
  47.    
  48.    To call any non-module object in this program, as well as in the appkit and
  49.    soundkit, just #include "ModuleController.h".
  50. */
  51.  
  52.  
  53.  
  54.  
  55. - (BOOL) RunCompactPanel:sender;/* Runs a "The operation requires compacting the
  56.                                    sound.  Are you sure you want to do this?" panel.
  57.                                    Returns TRUE if the person wants the operation
  58.                                    to go ahead and compact samples, and FALSE if the
  59.                                    person cancelled the operation. */
  60.  
  61.  
  62. - CurrentSound:sender;            /* Returns the Current Sound, NULL if none*/
  63. - CurrentSoundView:sender;        /* Returns the Current SoundView, NULL if none */
  64. - CurrentWindow:sender;            /* Returns the Current Window, NULL if none */
  65. - CurrentScrollView:sender;        /* Returns the Current ScrollView, NULL if none */
  66.                                 
  67.                                 /* Note that the Current Window may be made
  68.                                    the main window, but is not to be made 
  69.                                    the Key window.  That is reserved for the 
  70.                                    Console. */
  71.                                    
  72. - SoundChanged:ThisSound;        /* Informs the program that a sound has been changed in
  73.                                    some way or edited.  This sets the X on the top right
  74.                                    of the window to a broken X, and makes the program
  75.                                    pull up a "Save Before Close?" panel when the file 
  76.                                    is closed, or when the program quits.*/
  77.                                    
  78. - ChangeSelection:sender;        /* Informs the program that the selection of a
  79.                                    soundview has been changed. (Through a "Select All",
  80.                                    for instance. Requires selection to be for Current
  81.                                    Sound.  */
  82.                                    
  83. - ResetSelection:sender;        /* Informs the program that the selection of a 
  84.                                    soundview has been set to 0 (as if the person just
  85.                                    clicked once in the window--all grey marking
  86.                                    disappears. Requires selection to be for Current
  87.                                    Sound.  */
  88.                                    
  89. - ChangeInfo:ThisSound;            /* Informs the program that any sound information has
  90.                                    been changed (sampling rate, number of samples,
  91.                                    sample size--8 or 16 bits, fragmentation, info string,
  92.                                    etc.  */
  93.  
  94. - ZoomChanged:sender;            /* Informs the program that the reduction factor for
  95.                                    a soundview has been changed. Requires zoom to be
  96.                                    for Current Sound.  */
  97.                                    
  98. - Stop:sender;                    /* Stops whatever sound is playing or recording */
  99. - Play:sender;                    /* Plays the current sound */
  100. - (BOOL) IsPlaying;                /* Returns TRUE if a sound is playing */
  101. - (BOOL) IsRecording;            /* Returns TRUE if a sound is recording */
  102.  
  103.  
  104.  
  105.  
  106.  
  107. @end
  108.